﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;

namespace DigitalAmele.WebApp.Tools.MessageBox
{
    public class MessageBoxTemplates
    {
        public static string get_logout(Control c)//Çıkış
        {
            MessageBox mb = new MessageBox()
            {
                Message = "Çıkış işlemi yapılacaktır. Sistemden çıkmak istiyor musunuz?",
                MessageType = MessageTypes.Confirm,
                HasReturn = true
            };

            BoxButton btnYes = new BoxButton()
            {
                HasAction = true,
                Action = MessageBox.get_bostback_action(c),
                Text = "Evet",
                ClassName = "blue"
            };
            BoxButton btnNo = new BoxButton()
            {
                HasAction = false,
                Text = "Hayır",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnYes);
            mb.BoxButtons.Add(btnNo);

            return mb.get_function();
        }

        public static string get_general_error(bool hasmask)//İşlem yapılamadı
        {
            MessageBox mb = new MessageBox()
            {
                Message = "İşlem yapılamadı",
                MessageType = MessageTypes.Error,
                HasReturn = false
            };

            BoxButton btnOk = new BoxButton()
            {
                HasAction = hasmask,
                Action = "close_progressing();",
                Text = "Tamam",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnOk);

            return mb.get_function();
        }

        public static string get_error_message(bool hasmask, string msg)
        {
            MessageBox mb = new MessageBox()
            {
                Message = msg,
                MessageType = MessageTypes.Error,
                HasReturn = false
            };

            BoxButton btnOk = new BoxButton()
            {
                HasAction = hasmask,
                Action = "close_progressing();",
                Text = "Tamam",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnOk);

            return mb.get_function();
        }
        
        public static string get_activation(Control c)
        {
            MessageBox mb = new MessageBox()
            {
                Message = "İlgili kaydın durumu değiştirilecektir. Devam etmek istiyor musunuz?",
                MessageType = MessageTypes.Confirm,
                HasReturn = true
            };

            BoxButton btnYes = new BoxButton()
            {
                HasAction = true,
                Action = "show_progressing();" + MessageBox.get_bostback_action(c),
                Text = "Evet",
                ClassName = "blue"
            };
            BoxButton btnNo = new BoxButton()
            {
                HasAction = false,
                Text = "Hayır",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnYes);
            mb.BoxButtons.Add(btnNo);

            return mb.get_function();
        }

        public static string get_deletion(Control c)
        {
            MessageBox mb = new MessageBox()
            {
                Message = "İlgili kayıt silinecektir. Devam etmek istiyor musunuz?",
                MessageType = MessageTypes.Confirm,
                HasReturn = true
            };

            BoxButton btnYes = new BoxButton()
            {
                HasAction = true,
                Action = "show_progressing();" + MessageBox.get_bostback_action(c),
                Text = "Evet",
                ClassName = "blue"
            };
            BoxButton btnNo = new BoxButton()
            {
                HasAction = false,
                Text = "Hayır",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnYes);
            mb.BoxButtons.Add(btnNo);

            return mb.get_function();
        }

        public static string get_success_message(string msg, bool redirect, string location)
        {
            MessageBox mb = new MessageBox()
            {
                Message = msg,
                MessageType = MessageTypes.Success,
                HasReturn = false
            };

            BoxButton btnOk = new BoxButton()
            {
                HasAction = redirect,
                Action = "window.location = '" + location + "';",
                Text = "Tamam",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnOk);

            return mb.get_function();
        }

        public static string get_cancel(bool actiontp, string location, Control c)
        {
            MessageBox mb = new MessageBox()
            {
                Message = "Yaptığınız işlemler kaybolacaktır. Vazgeçmekten emin misiniz?",
                MessageType = MessageTypes.Confirm,
                HasReturn = true
            };

            BoxButton btnYes = new BoxButton()
            {
                HasAction = true,
                Text = "Evet",
                ClassName = "blue"
            };
            if (actiontp)
                btnYes.Action = MessageBox.get_bostback_action(c);
            else btnYes.Action = "window.location = '" + location + "';";

            BoxButton btnNo = new BoxButton()
            {
                HasAction = false,
                Text = "Hayır",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnYes);
            mb.BoxButtons.Add(btnNo);

            return mb.get_function();
        }

        public static string get_custom_confirm(string msg, bool actiontp, string location, Control c)
        {
            MessageBox mb = new MessageBox()
            {
                Message = msg,
                MessageType = MessageTypes.Confirm,
                HasReturn = true
            };

            BoxButton btnYes = new BoxButton()
            {
                HasAction = true,
                Action = "show_progressing();" + MessageBox.get_bostback_action(c),
                Text = "Evet",
                ClassName = "blue"
            };

            if (actiontp) btnYes.Action = "show_progressing();" + MessageBox.get_bostback_action(c);
            else btnYes.Action = "window.location = '" + location + "';";

            BoxButton btnNo = new BoxButton()
            {
                HasAction = false,
                Text = "Hayır",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnYes);
            mb.BoxButtons.Add(btnNo);

            return mb.get_function();
        }

        public static string get_custom_info(string msg, bool hasaction, bool actiontp, string location, Control c)
        {
            MessageBox mb = new MessageBox()
            {
                Message = msg,
                MessageType = MessageTypes.Exclamation,
                HasReturn = false
            };

            BoxButton btnOk = new BoxButton()
            {
                HasAction = hasaction,
                Text = "Tamam",
                ClassName = ""
            };
            if (hasaction)
            {
                if (actiontp) btnOk.Action = "show_progressing();" + MessageBox.get_bostback_action(c);
                else btnOk.Action = "window.location = '" + location + "';";
            }
            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnOk);

            return mb.get_function();
        }

        public static string get_info_message(bool hasmask, string msg)
        {
            MessageBox mb = new MessageBox()
            {
                Message = msg,
                MessageType = MessageTypes.Exclamation,
                HasReturn = false
            };

            BoxButton btnOk = new BoxButton()
            {
                HasAction = hasmask,
                Action = "close_progressing_();",
                Text = "Tamam",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnOk);

            return mb.get_function();
        }

        public static string get_alert_message(bool hasmask, string msg)
        {
            MessageBox mb = new MessageBox()
            {
                Message = msg,
                MessageType = MessageTypes.Alert,
                HasReturn = false
            };

            BoxButton btnOk = new BoxButton()
            {
                HasAction = hasmask,
                Action = "close_progressing();",
                Text = "Tamam",
                ClassName = "blue"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnOk);

            return mb.get_function();
        }

        /*Örnek custom panel*/
        /*
        public static string get_product_settings()
        {
            MessageBox mb = new MessageBox()
            {
                Message = "Ürün için bilgilerin ayarlanması işlemleridir. Eğer ürün bu özelliklere sahip değil ise bağlı olduğu grubunun özelliklerini miras alır.",
                MessageType = MessageTypes.Custom,
                HasReturn = false
            };

            BoxButton btnImage = new BoxButton()
            {
                HasAction = false,
                Text = "Ana Resim",
                ClassName = "blue"
            };
            BoxButton btnImages = new BoxButton()
            {
                HasAction = false,
                Text = "Resimler",
                ClassName = "blue"
            };
            BoxButton btnInfo = new BoxButton()
            {
                HasAction = false,
                Text = "İçerik Bilgisi",
                ClassName = "blue"
            };
            BoxButton btnClose = new BoxButton()
            {
                HasAction = false,
                Text = "Vazgeç",
                ClassName = "gray"
            };

            mb.BoxButtons = new List<BoxButton>();
            mb.BoxButtons.Add(btnImage);
            mb.BoxButtons.Add(btnImages);
            mb.BoxButtons.Add(btnInfo);
            mb.BoxButtons.Add(btnClose);

            return mb.get_function();
        }
        */
    }
}